/*
 * 
 * LegendShop 多用户商城系统
 * 
 *  版权所有,并保留所有权利。
 * 
 */
package com.legendshop.oa.service;

import com.legendshop.dao.support.PageSupport;
import com.legendshop.oa.dto.WeekLogReport;
import com.legendshop.oa.model.WeekLog;

import java.util.Date;
import java.util.List;

/**
 * The Class WeekLogService. 周报服务接口
 */
public interface WeekLogService {

	/**
	 * 根据商城获取周报列表
	 */
	public List<WeekLog> getWeekLog(String userName);

	/**
	 * 根据Id获取周报
	 */
	public WeekLog getWeekLog(Long id);

	/**
	 * 删除周报
	 */
	public int deleteWeekLog(WeekLog weekLog);

	/**
	 * 保存周报
	 */
	public Long saveWeekLog(WeekLog weekLog);

	/**
	 * 更新周报
	 */
	public void updateWeekLog(WeekLog weekLog);

	/**
	 * 查询周报列表
	 */
	public PageSupport<WeekLog> getWeekLogByLeaderUserNameDate(String leaderName, String curPageNO, String name, String realName, Date startDate, Date endDate);

	/**
	 * 加载周报
	 * @param userName
	 * @param year
	 * @param weekNo
	 * @return
	 */
	public WeekLog getWeekLog(String userName, Integer year, Integer weekNo);

	/**
	 *  获取用户的周报,查询下属的周报
	 * @param curPageNO 页码
	 * @param userName 用户名
	 * @param year 年
	 * @param weekNo 第几周
	 * @return
	 */
	public PageSupport<WeekLog> getUserWeekLogList(boolean isAdmin, String leaderName,String curPageNO, String userName, Integer year, Integer weekNo);

	/**
	 * 
	 * @param leaderName 领导的名字
	 * @param userName 用户的名字
	 * @return
	 */
	public boolean isMycolleague(String leaderName, String userName);

	/**
	 * 加载日志的统计
	 * @param weekLog
	 * @return
	 */
    List<WeekLogReport> getUserWeekLogList(WeekLog weekLog);
}
